package com.tf_cut.backend.seller.vo;


import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

import com.tf_cut.backend.payment.paydto.ResponseBody;

/**
 * 文件处理结果回调接口<ant.mybank.bkcloudfunds.comanagement.payment.notify>
 * <p>
 * 该接口回调文件处理结果
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "body")
public class SellerGrantModel extends ResponseBody {

    private static final long serialVersionUID = 7755621627520343045L;

    /**
     * 灵活用工平台合作方机构号
     */
    @XmlElement(name = "IsvOrgId")
    private String isvOrgId;

    /**
     * 用工企业网商商户号
     */
    @XmlElement(name = "MerchantId")
    private String merchantId;

    /**
     * 批次号，机构维度保证唯一
     */
    @XmlElement(name = "BatchNo")
    private String batchNo;

    /**
     * 关联原批次号，针对失败明细重新生成批次代发场景，需要关联原批次号
     */
    @XmlElement(name = "RelateBatchNo")
    private String relateBatchNo;

    /**
     * 总金额，包含服务费（单位为分）
     */
    @XmlElement(name = "TotalAmount")
    private String totalAmount;

    /**
     * 服务费（单位为分）
     */
    @XmlElement(name = "TotalFeeAmount")
    private String totalFeeAmount;

    /**
     * 币种，默认CNY
     */
    @XmlElement(name = "Currency")
    private String currency;

    /**
     * 总笔数
     */
    @XmlElement(name = "TotalCount")
    private String totalCount;

    /**
     * 支付方式01：余额支付
     */
    @XmlElement(name = "PayWay")
    private String payWay;

    /**
     * 出资的共管账号
     */
    @XmlElement(name = "PayerCardNo")
    private String payerCardNo;

    /**
     * 联动支付人资公司商户号
     * 通过该商户号找到绑定的网商卡
     */
    @XmlElement(name = "CascadePayerId")
    private String cascadePayerId;

    /**
     * 状态(SUCCESS,FAIL)
     */
    @XmlElement(name = "Status")
    private String status;

    /**
     * 错误描述
     */
    @XmlElement(name = "ErrorDesc")
    private String errorDesc;
    
    /**
     * 失败明细列表
     * 格式见失败明细结构
     *
     * jsonList base64编码
     */
    @XmlElement(name = "FailDetailList")
    private String failDetailList;

    /**
     * 备注
     */
    @XmlElement(name = "Memo")
    private String memo;

    /**
     * 类型(默认是共管)
     *
     * 01：共管
     * 02：纯代发
     */
    @XmlElement(name = "PayrollCreditType")
    private String payrollCreditType;

    /**
     * FILE_PROCESS_RESULT 文件处理结果
     * BATCH_PROCESS_RESULT 批次处理结果
     */
    @XmlElement(name = "NotifyType")
    private String notifyType;

    public String getIsvOrgId() {
        return isvOrgId;
    }

    public void setIsvOrgId(String isvOrgId) {
        this.isvOrgId = isvOrgId;
    }

    public String getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(String merchantId) {
        this.merchantId = merchantId;
    }

    public String getBatchNo() {
        return batchNo;
    }

    public void setBatchNo(String batchNo) {
        this.batchNo = batchNo;
    }

    public String getRelateBatchNo() {
        return relateBatchNo;
    }

    public void setRelateBatchNo(String relateBatchNo) {
        this.relateBatchNo = relateBatchNo;
    }

    public String getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(String totalAmount) {
        this.totalAmount = totalAmount;
    }

    public String getTotalFeeAmount() {
        return totalFeeAmount;
    }

    public void setTotalFeeAmount(String totalFeeAmount) {
        this.totalFeeAmount = totalFeeAmount;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(String totalCount) {
        this.totalCount = totalCount;
    }

    public String getPayWay() {
        return payWay;
    }

    public void setPayWay(String payWay) {
        this.payWay = payWay;
    }

    public String getPayerCardNo() {
        return payerCardNo;
    }

    public void setPayerCardNo(String payerCardNo) {
        this.payerCardNo = payerCardNo;
    }

    public String getCascadePayerId() {
        return cascadePayerId;
    }

    public void setCascadePayerId(String cascadePayerId) {
        this.cascadePayerId = cascadePayerId;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getErrorDesc() {
        return errorDesc;
    }

    public void setErrorDesc(String errorDesc) {
        this.errorDesc = errorDesc;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public String getPayrollCreditType() {
        return payrollCreditType;
    }

    public void setPayrollCreditType(String payrollCreditType) {
        this.payrollCreditType = payrollCreditType;
    }

    public String getNotifyType() {
        return notifyType;
    }

    public void setNotifyType(String notifyType) {
        this.notifyType = notifyType;
    }
    
    public String getFailDetailList() {
        return failDetailList;
    }

    public void setFailDetailList(String failDetailList) {
        this.failDetailList = failDetailList;
    }
}